L'algorithme d'Euclide étendu - Vers le supérieur

Modifié par Clemni

Algorithme d'Euclide étendu

Soit  a et  b deux entiers naturels non nuls.

L'algorithme d'Euclide étendu consiste à déterminer simultanément :

  • le PGCD de  a et b  ;
  • un couple (u;v)Z2 tel que au+bv=PGCD(a;b) .

Pour trouver le PGCD de  a et b , il s'agit d'effectuer classiquement l'algorithme d'Euclide.

On note r1 , r2 , ..., rn2 , rn1 les restes successifs obtenus, avec rn1=PGCD(a;b) , c'est-à-dire que l'algorithme termine en n étapes ( n1 étapes de r1 à rn1 et une dernière étape pour se rendre compte que le reste suivant vaut 0 ).

On note q1 , q2 , ..., qn2 , qn1 , qn les quotients successifs obtenus.
ÉtapeDividendeDiviseurQuotientResteDivision euclidienne avec reste isolé1abq1r1r1=abq12br1q2r2r2=br1q23r1r2q3r3r3=r1r2q3n1rn3rn2qn1rn1rn1=rn3rn2qn1nrn2rn1qnrn=0rn=0=rn2rn1qn

En notant r1=a et r0=b , on constate que les divisions euclidiennes en isolant les restes s'écrivent  rk=rk2rk1qk  pour tout  k{1;...;n} .

Pour trouver un couple (u;v)Z2 tel que au+bv=PGCD(a;b) , autrement dit tel que   au+bv=rn1 , l'idée-clef est que la relation de récurrence ci-dessus sur les restes rk  « se transmet » aux coefficients u et v de l'égalité au+bv=PGCD(a;b) .

Plus précisément, on peut construire deux suites (uk)k{1;...;n} et (vk)k{1;...;n} en posant {u1=1u0=0v1=0v0=1rk=auk+bvk   pour tout k{1;...;n}.   

La relation rk=auk+bvk est également vraie pour k=1 et k=0 . En effet,  r1=a=a×1+b×0=au1+bv1  et  r0=a=a×0+b×1=au0+bv0 .

De plus, pour tout k{1;...;n} tel que uk2 , vk2 , uk1 et vk1 ont déjà été construits,
on a :
rk=rk2rk1qk=auk2+bvk2(auk1+bvk1)qk=a(uk2uk1qk)+b(vk2vk1qk)  
si bien qu'il suffit de poser
uk=uk2uk1qk   et   vk=vk2vk1qk   pour tout k{1;...;n}  et l'on construit ainsi les suites (uk)k{1;...;n} et (vk)k{1;...;n} .

En particulier, aun1+bvn1=rn1=PGCD(a;b) , donc le couple (u;v)=(un1;vn1) vérifie l'égalité au+bv=PGCD(a;b) .

En pratique, pour calculer les termes des suites (uk) et (vk) :

  • on applique l'algorithme d'Euclide pour a et b ;
  • on initialise les suites (uk) et (vk) aux rangs k=1 et k=0 ;
  • on se sert des relations de récurrence permettant de calculer les termes uk et vk à partir des deux rangs précédents et du quotient qk (en présentant les calculs sous forme de tableau avec des lignes numérotées à partir de L1 , on constate que l'opération à faire est LkLk2qkLk1 ).

Voici une suggestion de présentation de l'algorithme d'Euclide étendu :

Exemples

1. On souhaite déterminer un couple (u;v)Z2 tel que 156u+42v=PGCD(156;42) .
On utilise l'algorithme d'Euclide étendu.

On en déduit que PGCD(156;42)=6 et que 156×3+42×(11)=6 .

2. On souhaite déterminer un couple (u;v)Z2 tel que 200u+116v=PGCD(200;116) .
On utilise l'algorithme d'Euclide étendu.

On en déduit que PGCD(200;116)=4  et que  200×(11)+116×19=4 .

Remarque

L'algorithme d'Euclide étendu ne donne pas seulement un couple (u;v)Z2 tel que  au+bv=PGCD(a;b)  : il donne des couples (uk;vk)Z2 tels que rk=auk+bvk à chaque étape de l'algorithme.

Source : https://lesmanuelslibres.region-academique-idf.fr
Télécharger le manuel : https://forge.apps.education.fr/drane-ile-de-france/les-manuels-libres/mathematiques-terminale-expert ou directement le fichier ZIP
Sous réserve des droits de propriété intellectuelle de tiers, les contenus de ce site sont proposés dans le cadre du droit Français sous licence CC BY-NC-SA 4.0